﻿#ifndef CONCRETECOMPANY_H
#define CONCRETECOMPANY_H

#include "Company.h"
#include <QList>

class ConcreteCompany : public Company
{
private:
    QList<shared_ptr<Company>> m_children;
public:
    ConcreteCompany(QString name);
    virtual void Add(const shared_ptr<Company>& c) override;     //增加
    virtual void Remove(const shared_ptr<Company>& c) override;  //移除
    virtual void Display(int depth) override;                    //显示
    virtual void LineOfDuty() override;                          //履行职责
};

#endif // CONCRETECOMPANY_H
